A mobile robot operates by navigating around an environment. The mobile robot can include a bumper, which contacts obstacles that the mobile robot encounters in its travels. The mobile robot can modify its behavior in response to detecting that the bumper has contacted an obstacle in the environment. For example, the mobile robot can back-away from the obstacle, or otherwise alter its path. In some mobile robots, the bumper includes mechanical switches that provide a binary indication of whether the bumper has made contact with an obstacle.